trunc

Otázka od: Peter Surovy

4. 11. 2002 19:22

Ahoj
mam takyto problem a neviem si rady:

Fields[29].AsInteger:=trunc(it[i].ptnr/1000);*

kde :
"i": je typu integer a v danom okamihu ma hodnotu 171
"it[i].ptnr" - je longint a "it[171].ptnr" ma hodnotu 105001


*--mi hlasi Invalid Floating Point operation
ked tento riadok vypnem dostanem tu istu hlasku na riadku:

while trunc(it[i].ptnr/1000)=start do begin

snazil som sa cosi vycitat z okna assemblera ale vyzera to
ze to pada vo vnutri trunc a to sa mi nejako nezda,
neviete co by to mohlo byt?

Mam Delphi5 Ent
PS

Odpovedá: Peter Surovy

5. 11. 2002 15:40

No odpoviem si sam mozno sa to niekomu hodi:

----- Original Message -----
From: "Peter Surovy" <psurovy@uevora.pt>
Sent: Monday, November 04, 2002 6:15 PM


> Fields[29].AsInteger:=trunc(it[i].ptnr/1000);
> --mi hlasi Invalid Floating Point operation
> ked tento riadok vypnem dostanem tu istu hlasku na riadku:
> while trunc(it[i].ptnr/1000)=start do begin

> ze to pada vo vnutri trunc a to sa mi nejako nezda,
---padalo to predsa len vo vnutri trunc neviem preco snad pre to
ze ten kod vyzeral cely takto :

while trunc(it[i].ptnr/1000)=start do begin
  ....
  Fields[29].AsInteger:=trunc(it[i].ptnr/1000);
  inc(i);
end; //while

teda ten trunc sa volal prakticky dvakrat po sebe
prepisal som to na:

truncated_plot:=trunc(it[i].ptnr/1000);

a potom pracujem len s touto premennou a
fuguje to aj ked tomu moc nerozumiem...

PS